home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / lib / tk / WindowId.man < prev    next >
Encoding:
Text File  |  1992-08-24  |  7.6 KB  |  303 lines

  1. '\"
  2. '\" Copyright 1990 Regents of the University of California
  3. '\" Permission to use, copy, modify, and distribute this
  4. '\" documentation for any purpose and without fee is hereby
  5. '\" granted, provided that this notice appears in all copies.
  6. '\" The University of California makes no representations about
  7. '\" the suitability of this material for any purpose.  It is
  8. '\" provided "as is" without express or implied warranty.
  9. '\" 
  10. '\" $Header: /user6/ouster/wish/man/RCS/WindowId.man,v 1.6 91/12/06 10:39:37 ouster Exp $ SPRITE (Berkeley)
  11. '\" 
  12. .\" The definitions below are for supplemental macros used in Sprite
  13. .\" manual entries.
  14. .\"
  15. .\" .HS name section [date [version]]
  16. .\"    Replacement for .TH in other man pages.  See below for valid
  17. .\"    section names.
  18. .\"
  19. .\" .AP type name in/out [indent]
  20. .\"    Start paragraph describing an argument to a library procedure.
  21. .\"    type is type of argument (int, etc.), in/out is either "in", "out",
  22. .\"    or "in/out" to describe whether procedure reads or modifies arg,
  23. .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
  24. .\"    needed;  use .AS below instead)
  25. .\"
  26. .\" .AS [type [name]]
  27. .\"    Give maximum sizes of arguments for setting tab stops.  Type and
  28. .\"    name are examples of largest possible arguments that will be passed
  29. .\"    to .AP later.  If args are omitted, default tab stops are used.
  30. .\"
  31. .\" .BS
  32. .\"    Start box enclosure.  From here until next .BE, everything will be
  33. .\"    enclosed in one large box.
  34. .\"
  35. .\" .BE
  36. .\"    End of box enclosure.
  37. .\"
  38. .\" .VS
  39. .\"    Begin vertical sidebar, for use in marking newly-changed parts
  40. .\"    of man pages.
  41. .\"
  42. .\" .VE
  43. .\"    End of vertical sidebar.
  44. .\"
  45. .\" .DS
  46. .\"    Begin an indented unfilled display.
  47. .\"
  48. .\" .DE
  49. .\"    End of indented unfilled display.
  50. .\"
  51. '\"    # Heading for Sprite man pages
  52. .de HS
  53. .if '\\$2'cmds'       .TH \\$1 1 \\$3 \\$4
  54. .if '\\$2'lib'        .TH \\$1 3 \\$3 \\$4
  55. .if '\\$2'tcl'        .TH \\$1 3 \\$3 \\$4
  56. .if '\\$2'tk'         .TH \\$1 3 \\$3 \\$4
  57. .if t .wh -1.3i ^B
  58. .nr ^l \\n(.l
  59. .ad b
  60. ..
  61. '\"    # Start an argument description
  62. .de AP
  63. .ie !"\\$4"" .TP \\$4
  64. .el \{\
  65. .   ie !"\\$2"" .TP \\n()Cu
  66. .   el          .TP 15
  67. .\}
  68. .ie !"\\$3"" \{\
  69. .ta \\n()Au \\n()Bu
  70. \&\\$1    \\fI\\$2\\fP    (\\$3)
  71. .\".b
  72. .\}
  73. .el \{\
  74. .br
  75. .ie !"\\$2"" \{\
  76. \&\\$1    \\fI\\$2\\fP
  77. .\}
  78. .el \{\
  79. \&\\fI\\$1\\fP
  80. .\}
  81. .\}
  82. ..
  83. '\"    # define tabbing values for .AP
  84. .de AS
  85. .nr )A 10n
  86. .if !"\\$1"" .nr )A \\w'\\$1'u+3n
  87. .nr )B \\n()Au+15n
  88. .\"
  89. .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
  90. .nr )C \\n()Bu+\\w'(in/out)'u+2n
  91. ..
  92. '\"    # BS - start boxed text
  93. '\"    # ^y = starting y location
  94. '\"    # ^b = 1
  95. .de BS
  96. .br
  97. .mk ^y
  98. .nr ^b 1u
  99. .if n .nf
  100. .if n .ti 0
  101. .if n \l'\\n(.lu\(ul'
  102. .if n .fi
  103. ..
  104. '\"    # BE - end boxed text (draw box now)
  105. .de BE
  106. .nf
  107. .ti 0
  108. .mk ^t
  109. .ie n \l'\\n(^lu\(ul'
  110. .el \{\
  111. .\"    Draw four-sided box normally, but don't draw top of
  112. .\"    box if the box started on an earlier page.
  113. .ie !\\n(^b-1 \{\
  114. \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  115. .\}
  116. .el \}\
  117. \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  118. .\}
  119. .\}
  120. .fi
  121. .br
  122. .nr ^b 0
  123. ..
  124. '\"    # VS - start vertical sidebar
  125. '\"    # ^Y = starting y location
  126. '\"    # ^v = 1 (for troff;  for nroff this doesn't matter)
  127. .de VS
  128. .mk ^Y
  129. .ie n 'mc \s12\(br\s0
  130. .el .nr ^v 1u
  131. ..
  132. '\"    # VE - end of vertical sidebar
  133. .de VE
  134. .ie n 'mc
  135. .el \{\
  136. .ev 2
  137. .nf
  138. .ti 0
  139. .mk ^t
  140. \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
  141. .sp -1
  142. .fi
  143. .ev
  144. .\}
  145. .nr ^v 0
  146. ..
  147. '\"    # Special macro to handle page bottom:  finish off current
  148. '\"    # box/sidebar if in box/sidebar mode, then invoked standard
  149. '\"    # page bottom macro.
  150. .de ^B
  151. .ev 2
  152. 'ti 0
  153. 'nf
  154. .mk ^t
  155. .if \\n(^b \{\
  156. .\"    Draw three-sided box if this is the box's first page,
  157. .\"    draw two sides but no top otherwise.
  158. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  159. .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  160. .\}
  161. .if \\n(^v \{\
  162. .nr ^x \\n(^tu+1v-\\n(^Yu
  163. \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
  164. .\}
  165. .bp
  166. 'fi
  167. .ev
  168. .if \\n(^b \{\
  169. .mk ^y
  170. .nr ^b 2
  171. .\}
  172. .if \\n(^v \{\
  173. .mk ^Y
  174. .\}
  175. ..
  176. '\"    # DS - begin display
  177. .de DS
  178. .RS
  179. .nf
  180. .sp
  181. ..
  182. '\"    # DE - end display
  183. .de DE
  184. .fi
  185. .RE
  186. .sp .5
  187. ..
  188. .HS Tk_WindowId tk
  189. .BS
  190. .SH NAME
  191. Tk_WindowId, Tk_Display, Tk_DisplayName, Tk_ScreenNumber, Tk_Screen, Tk_X, Tk_Y, Tk_Width, Tk_Height, Tk_Changes, Tk_Attributes, Tk_IsMapped, Tk_ReqWidth, Tk_ReqHeight, Tk_InternalBorderWidth \- retrieve information from Tk's local data structure
  192. .SH SYNOPSIS
  193. .nf
  194. \fB#include <tk.h>\fR
  195. .sp
  196. Window
  197. \fBTk_WindowId\fR(\fItkwin\fR)
  198. .sp
  199. Tk_Window
  200. \fBTk_Parent\fR(\fItkwin\fR)
  201. .sp
  202. Display *
  203. \fBTk_Display\fR(\fItkwin\fR)
  204. .sp
  205. char *
  206. \fBTk_DisplayName\fR(\fItkwin\fR)
  207. .sp
  208. int
  209. \fBTk_ScreenNumber\fR(\fItkwin\fR)
  210. .sp
  211. Screen *
  212. \fBTk_Screen\fR(\fItkwin\fR)
  213. .sp
  214. int
  215. \fBTk_X\fR(\fItkwin\fR)
  216. .sp
  217. int
  218. \fBTk_Y\fR(\fItkwin\fR)
  219. .sp
  220. int
  221. \fBTk_Width\fR(\fItkwin\fR)
  222. .sp
  223. int
  224. \fBTk_Height\fR(\fItkwin\fR)
  225. .sp
  226. XWindowChanges *
  227. \fBTk_Changes\fR(\fItkwin\fR)
  228. .sp
  229. XSetWindowAttributes *
  230. \fBTk_Attributes\fR(\fItkwin\fR)
  231. .sp
  232. int
  233. \fBTk_IsMapped\fR(\fItkwin\fR)
  234. .sp
  235. int
  236. \fBTk_ReqWidth\fR(\fItkwin\fR)
  237. .sp
  238. int
  239. \fBTk_ReqHeight\fR(\fItkwin\fR)
  240. .sp
  241. int
  242. \fBTk_InternalBorderWidth\fR(\fItkwin\fR)
  243. .SH ARGUMENTS
  244. .AS Tk_Window tkwin
  245. .AP Tk_Window tkwin in
  246. Token for window.
  247. .BE
  248.  
  249. .SH DESCRIPTION
  250. .PP
  251. \fBTk_WindowID\fR and the other names listed above are
  252. all macros that return fields from Tk's local data structure
  253. for \fItkwin\fR.  None of these macros requires any
  254. interaction with the server;  it is safe to assume that
  255. all are fast.
  256. .PP
  257. \fBTk_WindowId\fR returns the X identifier for \fItkwin\fR,
  258. or \fBNULL\fR if no X window has been created for \fItkwin\fR
  259. yet (see the \fBTk_CreateMainWindow\fR manual entry for details).
  260. .PP
  261. \fBTk_Parent\fR returns Tk's token for the logical parent of
  262. \fItkwin\fR.  The parent is the token that was specified when
  263. \fItkwin\fR was created, or NULL for main windows.
  264. .PP
  265. \fBTk_Display\fR returns a pointer to the Xlib display structure
  266. corresponding to \fItkwin\fR.  \fBTk_DisplayName\fR returns an
  267. ASCII string identifying \fItkwin\fR's display.  \fBTk_ScreenNumber\fR
  268. returns the index of \fItkwin\fR's screen among all the screens
  269. of \fItkwin\fR's display.  \fBTk_Screen\fR returns a pointer to
  270. the Xlib structure corresponding to \fItkwin\fR's screen.
  271. .PP
  272. \fBTk_X\fR, \fBTk_Y\fR, \fBTk_Width\fR, and \fBTk_Height\fR
  273. return information about \fItkwin's\fR location within its
  274. parent and its size.  The location information refers to the
  275. upper-left pixel in the window, or its border if there is one.
  276. The width and height information refers to the interior size
  277. of the window, not including any border.  \fBTk_Changes\fR
  278. returns a pointer to a structure containing all of the above
  279. information plus a few other fields.  \fBTk_Attributes\fR
  280. returns a pointer to an XSetWindowAttributes structure describing
  281. all of the attributes of the \fItkwin\fR's window, such as background
  282. pixmap, event mask, and so on (Tk keeps track of all this information
  283. as it is changed by the application).  Note: it is essential that
  284. applications use Tk procedures like \fBTk_ResizeWindow\fR instead
  285. of X procedures like \fBXResizeWindow\fR, so that Tk can keep its
  286. data structures up-to-date.
  287. .PP
  288. \fBTk_IsMapped\fR returns a non-zero value if \fItkwin\fR
  289. is mapped and zero if \fItkwin\fR isn't mapped.
  290. .PP
  291. \fBTk_ReqWidth\fR and \fBTk_ReqHeight\fR return information about
  292. the window's requested size.  These values correspond to the last
  293. call to \fBTk_GeometryRequest\fR for \fItkwin\fR.
  294. .PP
  295. \fBTk_InternalBorderWidth\fR returns the width of internal border
  296. that has been requested for \fItkwin\fR, or 0 if no internal border
  297. was requested.  The return value is simply the last value passed
  298. to \fBTk_SetInternalBorder\fR for \fItkwin\fR.
  299.  
  300. .SH KEYWORDS
  301. attributes, display, height, geometry manager, identifier, mapped,
  302. requested size, screen, width, window, x, y
  303.